00 - Comandos uteis
- Tamanho do disco
- Informações do CPU
- Desabilitar firewall (temporariamente)
- Criando links no Linux
- Transferir arquivo via SCP
- Listar processos pela porta
- Procurar texto:
grep,ag,rg - Terminais, multiplexadores e shells
- Ver placa de vídeo / GPU em uso
Tamanho do disco
Comandos rápidos:
df -h # espaço usado/ disponível por filesystem
du -sh * # tamanho (resumido) de cada item no diretório atual
du -h --max-depth=1 # tamanho por subdiretório (1 nível)
du -h -c # lista com total no final
ncdu /path # interface ncurses para navegar por uso de disco (instalar ncdu)
Exemplo para ordenar por tamanho:
du -sh * | sort -h
Informações do CPU
lscpu # visão legível da CPU
cat /proc/cpuinfo # informação detalhada por CPU/core
top / htop # monitor em tempo real (instale htop para melhor experiência)
Desabilitar firewall (temporariamente)
Dependendo da distro/serviço, prefira gerenciar via ufw ou firewalld.
Usando ufw:
sudo ufw status
sudo ufw disable # desabilita temporariamente
sudo ufw enable # reabilita
Usando systemd (ex.: firewalld):
sudo systemctl stop firewalld
sudo systemctl start firewalld
Comandos iptables diretos (use com cuidado):
sudo iptables-save > ~/iptables.backup
sudo iptables -F
sudo iptables -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Observação: não remova regras permanentemente sem entender o impacto em produção.
Criando links no Linux
Hard link vs symbolic (soft) link:
# link simbólico (mais comum)
ln -s /caminho/para/original /caminho/para/link
# hard link (mesmo inode; funciona apenas no mesmo filesystem)
ln /caminho/para/original /caminho/para/hardlink
Exemplo:
ln -s /usr/local/bin/minha-app ~/bin/minha-app
Transferir arquivo via SCP
# do local para remoto
scp /tmp/arquivo.zip usuario@host:/caminho/de/destino/
# do remoto para local
scp usuario@host:/caminho/arquivo.zip /tmp/
# especificar porta diferente
scp -P 2222 arquivo.zip usuario@host:/destino/
Para transferências mais robustas e retomáveis, use rsync -avP sobre SSH.
Listar processos pela porta
sudo lsof -i:<porta>
# ou usando ss (mais moderno)
sudo ss -ltnp | grep :<porta>
# outra opção
sudo fuser -n tcp <porta>
Exemplo:
sudo lsof -i:4200
sudo ss -ltnp | grep :4200
Procurar texto: grep, ag, rg
Comandos básicos:
ps aux | grep termo
grep -R "termo" ./diretorio
Alternativas mais rápidas:
ag(The Silver Searcher): muito rápido para código (apt install silversearcher-ag)rg(ripgrep): ainda mais rápido e moderno (apt install ripgrep)
Exemplos:
ag "minhaFuncao" src/
rg "minhaFuncao" src/
Terminais, multiplexadores e shells
- Terminais gráficos:
tilix,gnome-terminal,konsole. - Multiplexadores:
tmux,screen(úteis para sessões remotas persistentes). - Shells:
bash,zsh(comoh-my-zshpara produtividade).
Instalação rápida:
sudo apt install tilix tmux zsh htop
chsh -s $(which zsh) # mudar shell para zsh (logout/login necessário)
Exemplo básico tmux:
tmux new -s minha-sessao
tmux split-window -h
tmux attach -t minha-sessao
tmux kill-session -t minha-sessao
Ver placa de vídeo / GPU em uso
lspci | grep -i vga
lspci | grep -i nvidia
glxinfo | grep -i opengl # requer mesa-utils
# ou, para GPUs NVIDIA
nvidia-smi
Instale utilitários se necessário:
sudo apt install mesa-utils pciutils
Rsync e SSH com chaves
Gerar par de chaves (recomendo ed25519):
ssh-keygen -t ed25519 -C "seu@email.com" -f ~/.ssh/id_ed25519
Copiar a chave pública para o servidor:
ssh-copy-id -i ~/.ssh/id_ed25519.pub usuario@host
# ou manualmente
cat ~/.ssh/id_ed25519.pub | ssh usuario@host 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys'
Conectar usando a chave:
ssh -i ~/.ssh/id_ed25519 usuario@host
Rsync sobre SSH (exemplos):
# do local para remoto (show progress, resume)
rsync -avP -e "ssh -i ~/.ssh/id_ed25519" /caminho/origem/ usuario@host:/caminho/destino/
# do remoto para local
rsync -avP -e "ssh -i ~/.ssh/id_ed25519" usuario@host:/caminho/remoto/ /caminho/local/
# excluir arquivos e apagar no destino para espelhar
rsync -avP --delete -e "ssh -i ~/.ssh/id_ed25519" /origem/ usuario@host:/destino/
# especificar porta SSH
rsync -avP -e "ssh -i ~/.ssh/id_ed25519 -p 2222" /origem/ usuario@host:/destino/
Observações:
- Use
-zpara comprimir durante a transferência em links lentos. -Pcombina--progresse--partialpara retomar transferências interrompidas.
Atalhos úteis — tmux
Prefixo padrão: Ctrl+b
| Atalho | Ação |
|---|---|
| Prefixo (Ctrl-b), c | Nova janela |
| Prefixo, % | Split vertical (new pane) |
| Prefixo, " | Split horizontal |
| Prefixo, o | Alterna entre panes |
| Prefixo, ; | Voltar para último painel ativo |
| Prefixo, n / p | Próxima / anterior janela |
| Prefixo, w | Lista janelas |
| Prefixo, d | Detach (desanexar sessão) |
| Prefixo, [ | Entrar no modo de rolagem (copy-mode) |
| Prefixo, x | Fechar pane atual |
| Prefixo, & | Fechar janela atual |
| Prefixo, : | Entrar em prompt de comando tmux |
Comandos rápidos:
tmux new -s sessao
tmux attach -t sessao
tmux list-sessions
tmux kill-session -t sessao
Atalhos úteis — htop
| Tecla | Ação |
|---|---|
| F2 | Menu de configuração (Setup) |
| F3 | Buscar processo (Search) |
| F4 | Filtrar (Filter) |
| F5 | Modo árvore (Tree) |
| F6 | Ordenar por coluna (SortBy) |
| F7 / F8 | Diminuir / Aumentar 'nice' |
| F9 | Matar processo (Kill) |
| F10 | Sair (Quit) |
| SPACE | Marcar/desmarcar processo |
| U | Mostrar apenas processos do usuário atual |
Use F2 para personalizar colunas e cores.